Modern spacecraft typically incorporate a large number of discrete components, to provide a high level of functionality. For example, a spacecraft may include a plurality of sensors, mass memories, processing modules and telemetry sub-systems. These are connected to one another via an onboard network, to enable the exchange of data between components. Here, the term spacecraft includes any space-based apparatus such as commercial or scientific satellites, for example communications satellites, and manned or unmanned spacecraft such as interplanetary probes.
A widely-used standard for onboard networks in spacecraft is SpaceWire, defined in the ECSS-E50-12A standard. The original specification has subsequently been revised, for example in the ECSS-E-ST-50-12C standard. Other standards derived from SpaceWire have also been developed. For example, the SpaceFibre standard is based on SpaceWire, but uses fibre-optic and copper cable connections to support higher data rates. In a SpaceFibre network, one physical link carries several virtual communication channels. A further variant of SpaceWire is SoCWire, which is designed for networking components within a system-on-a-chip (SoC). However, networks based on SpaceFibre, SoCWire and other SpaceWire derivatives will still be compliant to the protocols and routing mechanisms defined for SpaceWire, and hence may generally be referred to as SpaceWire-based networks.
An onboard network, such as a SpaceWire or SpaceFibre network, comprises at least two nodes. Nodes may be directly connected, or may be connected via one or more routers. A node which sends a data packet to a destination does so by using routing information that is pre-programmed into the node. This information allows data to get from source to destination. To change the destination of the data packet in any way requires a modification or re-programming of the routing information at the source. For example, if a node is required to forward on a packet after receipt, it does so by use of a locally predetermined destination. Therefore each sending node must be individually reprogrammed in order to change a path taken by a data packet through the network.